x86: unify BUG() & Co, reduce overhead on x86-64
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 31 Mar 2009 12:23:11 +0000 (13:23 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 31 Mar 2009 12:23:11 +0000 (13:23 +0100)
commit7f6385949637051d1529431d7acd59e1677318c8
tree17dba712c8f5b7b8a4a4f25591edb5e3efa29f9f
parented25dad906fd3bec60fa79bc124afb3e854d67f0
x86: unify BUG() & Co, reduce overhead on x86-64

Since it's only the string pointer representations that differ between
i386 and x86-64, abstract out those and make everything else shared.

While touching this code, also use
- proper instructions rather than a mixture of such and raw .byte/
  .long/.quad data emissions,
- PC-relative pointers on x86-64 to cut the amount of storage (and
  in particular cache space) needed for string references by half.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
xen/arch/x86/traps.c
xen/include/asm-x86/bug.h
xen/include/asm-x86/x86_32/bug.h
xen/include/asm-x86/x86_64/bug.h